기본적으로 db connect, log, http IO, MVC 점핑 관계, 쓰레드 모델을 파악하는 것이 최우선이라..
logger에 꽂혀서 며칠 뒤졌다.
gluon/main.py 에서 logging.conf 를 찾는다.
logging.conf는 인터넷에서 예제를 찾을 수 있다. 기본 패키지에는 예제가 없다. 어쩌라구?
핸들러 로그 레벨과 로거의 로그 레벨을 따로 간다. 어쩌라구?
기본 로거 도메인은 web2py다.
main.py에 있는 내용이다.
logging.conf에 web2py 도메인을 추가하면 프레임웍을 안 건들 수 있다.
이전 레거시 프로젝트에는 이거저거 시도하다 프레임웍 소스를 바로 손댔다능 ... 이해가 간다..
logpath = abspath("logging.conf")
if exists(logpath):
logging.config.fileConfig(abspath("logging.conf"))
else:
logging.basicConfig()
logger = logging.getLogger("web2py")
레벨을 핸들러에만 붙이는 것이 편하겠다.
INFO와 DEBUG만 쓴다. 개발시엔 DEBUG로 찍고, INFO로 주요 데이터를 로깅한다.
[loggers]
keys=root,dawnsea,web2py
[logger_root]
level=WARNING
handlers=consoleHandler
[logger_dawnsea]
level=DEBUG
qualname=dawnsea
handlers=consoleHandler
propagate=0
[logger_web2py]
qualname=web2py
level=INFO
handlers=consoleHandler
propagate=0
[handlers]
keys=consoleHandler
[handler_consoleHandler]
class=StreamHandler
#level=DEBUG
level=INFO
formatter=shortFormatter
args=(sys.stdout,)
[formatters]
keys=simpleFormatter, shortFormatter
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=
[formatter_shortFormatter]
format=%(levelname)s-%(message)s-%(filename)s-%(lineno)d
datefmt=